// 系统定义的密码强度 最小级别
const pswLevel = 2;

/**
 * 密码强度是否符合要求
 * @param { String } str
 * @returns { Boolean }
 */
export const isStrictPsw = str => {
  var Lv = 0;
  if (str.length < 6) {
    return Lv;
  }
  if (/[0-9]/.test(str)) {
    Lv++;
  }
  if (/[a-z]/.test(str)) {
    Lv++;
  }
  if (/[A-Z]/.test(str)) {
    Lv++;
  }
  if (/[\.|-|_]/.test(str)) {
    Lv++;
  }

  // 判断当前的密码强度是否符合要求
  return Lv > pswLevel;
};

/**
 * 密码强度校验   (数字、小写字母、大写字母、特殊字符 各加一个级别)
 * @param { String } str
 * @returns { Number } 密码的强度  1 -> 4
 */
export const validatePswLevel = str => {
  var Lv = 0;
  if (str.length < 6) {
    return Lv;
  }
  if (/[0-9]/.test(str)) {
    Lv++;
  }
  if (/[a-z]/.test(str)) {
    Lv++;
  }
  if (/[A-Z]/.test(str)) {
    Lv++;
  }
  if (/[\.|-|_]/.test(str)) {
    Lv++;
  }
  return Lv;
};
